#include "widget.h"
#include "ui_widget.h"
#include <QRegExpValidator>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // inputMask的功能比较有限
    // 其实我们还可以使用正则表达式来对输入的内容进行格式验证

    // 创建一个正则表达式
    QRegExp regexp("^1\\d{10}$"); // 该正则表达式的规则是必须以1开头，长度为10, $表示结尾
    // 给LineEdit设置一个验证器
    ui->lineEdit->setValidator(new QRegExpValidator(regexp));


}

Widget::~Widget()
{
    delete ui;
}

// 只要输入框的内容发生了改变，就会调用此函数
void Widget::on_lineEdit_textEdited(const QString &text)
{
    // 获取验证器，并调用其验证方法验证内容是否合法
    QString content = text;
    int pos = 0;
    if (ui->lineEdit->validator()->validate(content, pos) == QValidator::Acceptable) { // validate返回的是一个枚举类型
        // 验证通过
        // 将按钮设置成可用状态
        ui->pushButton->setEnabled(true);

    } else {
        // 验证不通过
        // 将按钮设置成不可用状态
        ui->pushButton->setEnabled(false);
    }
}
